def f(a,b,c,d,x):
    return a * x**3 + b * x**2 + c * x + d

def answer(a,b,c,d,low,high, pre=0.0001):
    while high - low > pre:
        mid = (low + high)/2
        if f(a,b,c,d,mid) * f(a,b,c,d,low) < 0:
            high = mid
        else:
            low = mid
    return (low + high)/2

list1 = [(0, 3), (3, 7),(7, 10)]
answers = []

a, b, c, d = 1, -14, 56, -64
for low, high in list1:
    root=answer(a, b, c, d, low, high)
    answers.append(round(root,4))

print(answers)